package cn.edu.scau.cmi.ema.service;

import cn.edu.scau.cmi.ema.base.CmiPagination;
import cn.edu.scau.cmi.ema.domain.Rulefield;

import java.util.List;
import java.util.Map;
import java.util.Set;


public interface RulefieldService {

	public Rulefield saveRulefield(Rulefield rulefield);

	public Set<Rulefield> loadRulefields();

	public Set<Rulefield> loadReferenceRulefields(Set<Rulefield> rulefields);

	public Set<Rulefield> loadRulefieldsByIdSet(Set<Integer> rulefieldsId);

	public Map<String, ?> loadRulefieldObjectReferencedSet(Rulefield rulefield);

	public Map<String, ?> loadRulefieldClassReferencedSet(Rulefield rulefield);

	public void deleteRulefield(Rulefield rulefield);

	public void deleteRulefields(Set<Integer> deleteRulefieldsId);

	public List<Rulefield> findAllRulefields(Integer startResult, Integer maxRows);

	public Rulefield findRulefieldByPrimaryKey(Integer id);

	public Integer countRulefields();

	public Integer countRulefields(CmiPagination page);

	public Integer countRulefieldsByName(String queryName);

	public Integer countRulefieldsByDetachedCriteria(CmiPagination page);

}
